home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Commodore Disk User Volume 3 #6
/
Commodore_Disk_User_Vol.3_6_1990_-.d64
/
texas demo
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
5KB
|
147 lines
10 rem ******************************
20 rem ** the very good texas demo **
30 rem ******************************
40 rem ** written by david dewar **
50 rem ******************************
55 rem * colour screen & load sprites *
60 poke 53280,0:poke 53281,0
70 printchr$(147);"[158]please wait..":gosub 1050
75 rem * opening titles *
80 a=1424:b=0:poke53280,0:poke53281,0
90 if b=0 then a$="silver wing":q=0
100 if b=1 then a$="proudly present":q=1
110 if b=2 then a$="a very short":q=0
120 if b=3 then a$="demo written":q=1
130 if b=4 then a$="by david dewar":q=0
140 if b=5 then a$="[157][157][157][157]for commodore disk user":q=1
150 if b=6 then a$="":q=0
160 if b=7 then q=1
170 if b=8 then 290
180 printchr$(147);chr$(5);"";tab(12);a$
190 for y=0 to 400:next y
200 if q=1 then goto 250
205 rem * increase right bar *
210 for t=0 to 39:poke a+t,160:poke 55696+t,11:next t
215 rem * decrease right bar *
220 for t=39 to 0 step-1:poke a+t,32:next t
230 b=b+1
240 goto 90
245 rem * increase left bar *
250 for t=39 to 0 step-1:poke a+t,160:poke 55696+t,11:next t
255 rem * decrease left bar *
260 for t=0 to 39:poke a+t,32:next t
270 b=b+1
280 goto 90
290 for y=0 to 200:next y
300 print chr$(147);"this program shows that reasonable"
310 print"demos can be made without any knowledge"
320 print"of machine code."
325 rem * scroll down & up fastish *
330 for t=0 to 20:poke 214,255:sys 59749:for q=0 to 100
340 next q:sys 59626:next t:for t=0 to 6:sys 59626:next t
350 for y=0 to 200:next y
355 rem * down then up *
360 print chr$(147);"commodores own basic has many"
370 print"useful routines that can be put"
380 print"into your own demos."
390 for q=0 to 3:for t=0 to 13:poke 214,255:sys 59749:next t
400 for p=0 to 200:next p:for y=0 to 2:sys 59626:next y:next q
410 for y=0 to 200:next y
415 rem * move letters one by one *
420 a$=" !somed doog tn'ra somed cisab syas ohw"
430 for t=1 to 39
440 forj=0to(39-t):printchr$(19);""tab(j)" "mid$(a$,t,1);:next j,t
445 rem * 'shake baby shake'
450 for t=0 to 255:poke 53270,t:next t:poke 53270,8
455 rem * texas letters *
460 print chr$(147);chr$(28)
470 print" [146][223] [223][169] [146][169] [146][223] [223][169] [146]";
480 print"[169] "
490 print" [146][223] [169] [146][169] "
500 print" [169] [146][169] [169] [146][169] [223] ";
510 print" [169] [146][169][223] [223] [169]";
520 print" [146][169][223] [223] [146][158]thebestbandinthe"
530 print"world ?"
535 rem * open screen to full *
540 poke 53270,8
545 rem * position sprites *
550 v=53248:poke v+0,176:poke v+1,130:poke 2040,128
560 poke v+2,176:poke v+3,151:poke 2041,129
570 poke v+4,176:poke v+5,172:poke 2042,130
575 rem * turn sprites on with multi col *
580 poke v+21,7:poke v+28,7:poke v+37,12
586 rem * sprites 1,2 & 3 dark grey *
590 poke v+38,15:poke v+39,11:pokev+40,11
600 poke v+41,11:poke v+27,7
605 rem * smooth scoll up & down *
610 for y=0 to 20:for t=19 to 31:poke 53265,t:next t
620 next y
630 poke 53270,8
635 rem * scroll message *
640 for x=0 to 50:if peek(x+1344)=43 then poke x+1344,42
650 if peek(1863-x)=43 then poke 1863-x,42:next x
660 ss$=" ":rem 41
670 b$=ss$+"[155]this very short demo was written by d."
680 b$=b$+"dewar.look out for my demo disk/tape com"
690 b$=b$+"ing soon featuring a selection of the be"
700 b$=b$+"st cbm 64 demos.this demo is dedicated t"
710 b$=b$+"o: ":rem 36
720 b$=b$+" t e x a s "
730 d=0
740 s=1:if d=2 then 790
750 print chr$(19);mid$(b$,s,40)
760 for x=0 to 80:next x:s=s+1
770 if s=len(b$)then d=2:goto740
780 goto 750
785 rem * clear screen *
790 for t=0 to 999:poke 1024+t,160:poke 55296+t,0:next t
795 rem * flashing message *
800 poke53269,0:print chr$(147);:a=0
810 print chr$(19);tab(248);"[129]get writing some demos!!"
820 a=a+1:if a=15 then 860
830 for t=0 to 100:nextt
840 print chr$(19);tab(248);"get writing some demos!!"
850 for t=0 to 100:next t:goto 810
855 rem * scroll off screen *
860 for t=0 to 5:sys 59626:next t
870 q=15:p=255:w=0
875 rem * moving end *
880 print chr$(147);"[158]"
890 print tab(q)"the";tab(p)"end"
900 q=q+40:p=p-40:w=w+1
910 if w=6 thenp=0:goto 940
920 for r=0 to 100:next r
930 goto 880
935 rem * smooth scroll left & right *
940 for a=1 to 7:poke 53270,248+a
950 for b=0 to 250:next b,a
960 for a=6 to 0 step-1:poke 53270,248+a
970 for b=0 to 250:next b,a:p=p+1
980 if p=4 then 1000
990 goto 940
995 rem * wrap round *
1000 for t=0 to 6:printchr$(147);chr$(5);"its a":for y=0 to 150:next y
1010 print chr$(147);:next t:for t=0 to 8:print chr$(147);"wr":for y=0 to 150
1020 next y:for t=0 to 8:print chr$(147);"wrap":fory=0to150:print chr$(147);:nextt
1030 for t=0 to 6:print chr$(147);"round":fory=0 to 150:next y
1040 print chr$(147);:next t:goto 80
1045 rem * load sprites into memory *
1050 for t=0 to 193:read e:poke 8192+t,e:c=c+e:next t
1060 if c<>21093 then print"data error":end
1070 return
1080 data 253,0,59,240,0,14,240,0,3,192,0,0,192,0
1090 data 0,0,12,0,0,48,192,0,51,48,0,63,176,0
1100 data 38,0,0,183,179,0,247,195,0,251,244,193,235,247
1110 data 9,255,247,249,170,223,249,150,223,254,107,79,255,149
1120 data 67,240,234,195,240,63,15,0
1130 data 176,15,15,188,0,62,191,0,158,111,128,158,90,128
1140 data 42,85,224,154,85,160,153,101,96,153,85,96,41,106
1150 data 120,37,105,88,41,86,120,165,105,90,165,102,248,47
1160 data 84,160,11,85,63,203,85,123,170,153,123,170,165,123
1170 data 170,201,95,63,194,87,63,0,128
1180 data 63,63,129,63,195,128,15,252,128,3,242,128,168,11
1190 data 130,2,175,232,0,15,240,0,15,240,60,15,240,60
1200 data 15,240,60,15,240,60,15,240,60,3,240,60,3,240
1210 data 60,3,240,60,3,240,60,3,240,12,3,240,12,3
1220 data 240,12,15,240,12,15,0,85,85